package cn.iocoder.yudao.module.enterprise.controller.admin.praxisProject.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 项目报名信息 DO
 *
 * @author 管理员
 */
@Data
@ApiModel("管理后台 - 项目报名信息EnterpriseEntryInfoBaseVO")
public class EnterpriseEntryInfoBaseVO {

    @ApiModelProperty(value = "ID")
    private Long id;

    @ApiModelProperty(value = "下一阶段报名ID")
    private Long nextEntryId;

    @ApiModelProperty(value = "下一阶段类型")
    private Integer nextScheduleType;

    @ApiModelProperty(value = "遴选阶段报名ID")
    private Long firstEntryId;

    @ApiModelProperty(value = "项目ID")
    private Long projectId;

    @ApiModelProperty(value = "报名类型;1:团队;2:个人")
    private Integer entryType;

    @ApiModelProperty(value = "类型;1:遴选;2:初赛;3:复赛;4:决赛;")
    private Integer scheduleType;

    @ApiModelProperty(value = "学生ID(队长)")
    private Long studentId;

    @ApiModelProperty(value = "报名(参赛)状态;1:未报名;2:报名中")
    private Integer entryStatus;

    @ApiModelProperty(value = "查看状态;1:未查看;2:已查看")
    private Integer lookStatus;

    @ApiModelProperty(value = "是否入选;0:未入选(未获奖);1:入选(获奖);")
    private Integer checkStatus;

    @ApiModelProperty(value = "评分")
    private BigDecimal rateScore;

    @ApiModelProperty(value = "报名时间")
    @JsonFormat(shape= JsonFormat.Shape.STRING, timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date entryTime;

    @ApiModelProperty(value = "团队名称")
    private String teamName;

    @ApiModelProperty(value = "团队数量")
    private Integer teamNum;

    @ApiModelProperty(value = "介绍")
    private String introduce;

    @ApiModelProperty(value = "材料名称")
    private String annexName;

    @ApiModelProperty(value = "材料路径")
    private String annexUrl;

    @ApiModelProperty(value = "学生信息集合")
    private List<EnterpriseEntryStudentVO> stuList;

    @ApiModelProperty(value = "是否发送邮件")
    private Integer isSendEmail;
}
